'\"macro stdmacro
.\"
.\" Copyright (c) 2022 Red Hat.  All Rights Reserved.
.\" Copyright (c) 2000-2004 Silicon Graphics, Inc.  All Rights Reserved.
.\"
.\" This program is free software; you can redistribute it and/or modify it
.\" under the terms of the GNU General Public License as published by the
.\" Free Software Foundation; either version 2 of the License, or (at your
.\" option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful, but
.\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
.\" or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
.\" for more details.
.\"
.\"
.TH PMSORTINSTANCES 3 "PCP" "Performance Co-Pilot"
.SH NAME
\f3pmSortInstances\f1 \- sort performance metric values on instance identifier
.SH "C SYNOPSIS"
.ft 3
.ad l
.hy 0
#include <pcp/pmapi.h>
.sp
void pmSortInstances(pmResult *\fIresult\fP);
.sp
cc ... \-lpcp
.hy
.ad
.ft 1
.SH DESCRIPTION
.de CR
.ie t \f(CR\\$1\f1\\$2
.el \fI\\$1\f1\\$2
..
The routine
.B pmSortInstances
may be used to guarantee that for each performance metric in the
.I result
from
.BR pmFetch (3)
the instances are in ascending instance identifier sequence.
.PP
This is useful when computing rates from two consecutive samples.
.SH COMPATIBILITY
Prior to PCP 7.0 the
.I timestamp
field in the \f(CRpmResult\fP struct was a \f(CRstruct timeval\fP.
To support PMAPI transition, the old interface and semantics can be
used if applications are recompiled with
.BR \-DPMAPI_VERSION=2 .
.PP
For a time in PCP 6.x there was a
routine with the same semantics as the current
.B pmSortInstances
called
.BR pmSortHighResInstances ,
and a struct with the same definition as the current
\f(CRpmResult\fP struct called
\f(CRpmResultHighRes\fP,
although both are now deprecated and compile-time support for
.BR pmSortHighResInstances
and \f(CRpmResultHighRes\fP will be removed in a future release.
.SH SEE ALSO
.BR PMAPI (3)
and
.BR pmFetch (3).
